#ifndef __COMMON_API_H
#define __COMMON_API_H

#include "bsp.h"
#include <string.h>

#define _STRI(s) #s
#define STRI(s) _STRI(s)
#define PARTI(a) a

#define USART_TXBUFF_SIZE 1024
#define PRINTF_USERT	USART1

#define CH_MEMCLS(m) memset(m,0,sizeof(m))
#define printf	CH_Printf

void CH_Init(void);
void CH_Printf(char* fmt,...);
void CH_UsartPrintf(USART_TypeDef * usart,char * fmt,...);
void CH_UsartSendString(USART_TypeDef * usart,u8 * data);
void CH_UsartSendByte(USART_TypeDef * usart,u8 byte);
void CH_UsartSendBuf(USART_TypeDef * usart,u8 * buf,u16 len);


void CH_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
void CH_Delay(u32 delay);

GPIO_PinState read_pin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
void write_pin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);


u16 CH_SwitchU16(u16 s);	//32bit大小端转换
u32 CH_SwitchU32(u32 i);	//32bit大小端转换

void INTX_DISABLE(void);//关闭所有中断
void INTX_ENABLE(void);	//开启所有中断

#endif

